/**
 * 版权所有(C)，上海海鼎信息工程股份有限公司，2008，所有权利保留。
 * 
 * 项目名：	rumba
 * 文件名：	LogonInfoCmpst.java
 * 模块说明：	
 * 修改历史：
 * Jan 23, 2008 - lxm - 创建。
 */
package com.hd123.rumba.gwt.entry.client;

import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Image;
import com.hd123.rumba.gwt.base.client.exception.ClientBizException;

/**
 * 登录信息 | 界面部件
 * 
 * @author lxm
 * 
 */
class LogonInfoCmpst extends Composite {

  /**
   * 构造函数
   * 
   * @param entryPoint
   *          指定所属模块入口点。
   */
  public LogonInfoCmpst(MainFrame entryPoint) {
    super();
    assert entryPoint != null;
    this.entryPoint = entryPoint;
    drawSelf();
    refresh();
  }

  /**
   * 刷新数据显示。
   * 
   */
  public void refresh() {
    String hint = "未登录";
    if (this.entryPoint != null)
      try {
        StringBuffer sb = new StringBuffer();
        sb.append("登录用户：\n");
        sb.append(this.entryPoint.getCurrentUser().getNameCode());
        sb.append(" 位于 ");
        sb.append(this.entryPoint.getCurrentDomain().getNameCode());
        hint = sb.toString();
      } catch (ClientBizException e) {
      }
    img.setTitle(hint);
  }

  // --------------------------------------------------------------------------
  // 数据
  // --------------------------------------------------------------------------
  private MainFrame entryPoint;

  // --------------------------------------------------------------------------
  // 用户界面
  // --------------------------------------------------------------------------

  private HorizontalPanel pnl;
  private Image img;

  private void drawSelf() {
    pnl = new HorizontalPanel();
    pnl.setSpacing(0);
    pnl.setHeight("100%");
    pnl.setWidth("20px");
    pnl.setStyleName("rb-logonInfo");

    img = new Image("images/user.gif");
    pnl.add(img);
    pnl.setCellVerticalAlignment(img, HorizontalPanel.ALIGN_MIDDLE);
    pnl.setCellHorizontalAlignment(img, HorizontalPanel.ALIGN_CENTER);

    this.initWidget(pnl);
  }
}
